.bs-select{
  &.is-disabled{
    cursor: not-allowed;
  }
}
.bs-select-dropdown{
  position: absolute;
  //top: -100%;
  //display: none;
  z-index: 2222;
  max-height: 17.5rem; // 280px
  border: 1px solid #e4e7eb;
  border-radius: 0.28rem;
  overflow-y: auto;
  box-shadow: 0 1px 0.5rem rgba(0,0,0,0.15);
  background-color: #fff;
}
.bs-select-option-list{
  padding: 0;
  margin: 0;
  font-size: 0.875rem;
}
.bs-select-empty{
  padding: 1.5rem 1rem;
  color: #888;
  text-align: center;
}
.bs-select-loading{
  padding: 1.5rem 1rem;
  text-align: center;
  color: var(--primary);
  opacity: 0.65;
  .bs-spinner{
    width: 1.5rem;
    height: 1.5rem;
    vertical-align: middle;
    border-width: 0.125rem;
  }
}
.bs-select-loading-text{
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.8rem;
}
.bs-option-group-list{
  padding: 0;
  margin: 0;
}
.bs-option{
  position: relative;
  list-style: none;
  min-height: 2rem;
  line-height: 1.375rem;
  padding: 0.3rem 1rem;
  color: #212529;
  transition: background-color .1s, color .1s;
  cursor: pointer;
  background-color: #fff;
  &:not(.is-disabled,.is-checked):hover{
    background-color: #E9ECEF;
  }
  &.is-disabled{
    cursor: not-allowed;
    //opacity: 0.6;
    color: #a1a1a1;
  }
  &.is-checked{
    color: #fff;
    background-color: var(--primary);
  }
  .bs-option-label{
    //display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .bs-option-check-icon{
    display: none;
    position: absolute;
    z-index: 5;
    top: 50%;
    transform: translateY(-50%);
    right: 1.1rem;
    font-size: 1.5rem;
  }
}
.bs-select-dropdown.is-multiple{
  .bs-option{
    padding-right: 2.4rem;
    &.is-checked{
      color: var(--primary);
      background-color: #fff;
      .bs-option-check-icon{
        display: block;
      }
    }
  }
}

.bs-option-group-title{
  padding: 0.3rem 1rem;
  color: #6c757d;
  font-size: 0.875rem;
  white-space: nowrap;
  overflow: hidden;
}
.bs-option-group{
  position: relative;
  padding-top: 0.25rem;
  margin-top: 0.25rem;
  &::before{
    content: ' ';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #e9ecef;
  }
  .bs-option{
    padding-left: 2rem;
  }
  &:first-child{
    margin-top: 0;
    &::before{
      display: none;
    }
  }
}
